Лабораторная работа 6


Программирование с использованием множеств

 

Цель работы: познакомить с понятием множество в языке программирования Pascal; выработать навыки работы со структурой данных множество.

 

Общие сведения

 

Под множеством понимают ограниченный, неупорядоченный набор различных элементов одного типа. В отличие от массивов к элементам множества нет прямого доступа (по индексам этих элементов, как в массивах). Поэтому ввод-вывод множеств производится с использованием операций объединения (при вводе) и проверки принадлежности (при выводе). Под мощностью множества понимают количество элементов, содержащихся в данном множестве.

Перед выполнением работы необходимо ознакомится с правилами описания и использования переменных типа множество, типизированных констант типа множество, переменных, заданных перечислением, изучить допустимые операции над переменными этих типов.

 

Задания

 

Примечание: Гласные буквы - а,е,и,о,у,ы,э,ю,я (ё обычно не входит); согласные - все остальные буквы, кроме ь, ъ; звонкие согласные - б,в,г,д,ж,з,й,л,м,н,р; глухие согласные - к,п,с,т,ф,х,ц,ч,ш,щ.

 

1.                Дан текст из строчных латинских букв, за которым следует точка. Вывести: первые вхождения букв в текст, сохраняя их взаимный исходный порядок; все буквы, входящие в текст не менее двух раз.

2.                Выписать все цифры по убыванию, которые не входят в данное натуральное число.

3.                Дана непустая последовательность слов из строчных русских букв; между соседними словами - запятая, за последним словом - точка. Вывести в алфавитном порядке: все гласные буквы, которые входят в каждое слово; все согласные буквы, которые не входят ни в одно слово;

4.                Подсчитать общее количество цифр и знаков '+', '-', и '*', входящих в строку s.

5.                Дана непустая последовательность слов из строчных русских букв; между соседними словами - запятая, за последним словом - точка. Вывести в алфавитном порядке: все звонкие согласные буквы, которые входят хотя бы в одно слово; все глухие согласные буквы, которые не входят хотя бы в одно слово;

6.                Подсчитать количество различных (значащих) цифр в десятичной записи натурального числа n и напечатать в возрастающем порядке все цифры, не входящие в десятичную запись натурального числа n.

7.                Дана непустая последовательность слов из строчных русских букв; между соседними словами - запятая, за последним словом - точка. Вывести в алфавитном порядке: все согласные буквы, которые входят только в одно слово; все глухие согласные буквы, которые не входят только в одно слово;

8.                Выполнение операций для двух множеств: сравнение, объединение.

9.                Дана непустая последовательность слов из строчных русских букв; между соседними словами - запятая, за последним словом - точка. Вывести в алфавитном порядке: все звонкие согласные буквы, которые входят более чем в одно слово; все гласные буквы, которые не входят более чем в одно слово;

10.           Дан текст из строчных латинских букв, за которым следует точка. Вывести: первые вхождения букв в текст, сохраняя их взаимный исходный порядок; все буквы, входящие в текст по одному разу.

11.           Выписать все цифры по возрастанию, которые не входят в данное натуральное число.

12.           Дана непустая последовательность слов из строчных русских букв; между соседними словами - запятая, за последним словом - точка. Вывести в алфавитном порядке: все звонкие согласные буквы, которые входят в каждое нечетное слово и не входят ни в одно четное слово;

13.           Выполнение операций для двух множеств: разности, пересечение.

14.           Дана непустая последовательность слов из строчных русских букв; между соседними словами - запятая, за последним словом - точка. Напечатать в алфавитном порядке: все глухие согласные буквы, которые входят в каждое нечетное слово и не входят хотя бы в одно четное слово.

15.           Дан текст. Определить каких букв больше - гласных или согласных.

16.           Вычислить сумму тех элементов матрицы A, номера строк и столбцов которых принадлежат соответственно непустым множествам S1 и S2 типа Nom.

    
  const n=10; 
  type nomer= 1..n; 
        матрица = array[nomer,nomer] of real; 
  nom = set of номер; 
 

Контрольные вопросы

 

1.                Что такое множество, как оно описывается в языке Pascal?

2.                Как определить новый тип данных с использованием перечисления?

3.                Как описываются типизированные константы типа множество?

4.                Как осуществляется ввод-вывод значений переменных типа множество?

5.                Какие типы данных используются в качестве базовых при объявлении типа множество?

6.                Какие операции определены над множествами?

7.                Какие операции допустимы над переменными, заданными перечислением?

8.                Чем похожи и чем отличаются множества и массивы?

 

 

 

 

[Вверх] [В начало]